package com.central.rearService.service

import com.central.common.entity.Attention
import com.central.common.enum.AttentionTypeEnum
import com.central.common.model.CommonResult
import com.central.common.model.RealDataResult
import com.central.common.model.SysUser
import com.central.common.model.UserInfo
import com.central.common.service.ISuperService

/**
 * @author  fly
 * @date  2021/5/26 14:50
 * @version 1.0
 */
interface AttentionService : ISuperService<Attention> {


    /**
     * 添加关注和取消关注
     */
    fun resolveAttention(attentionId: Long, sysUser: SysUser, type: Int): CommonResult<Boolean>

    /**
     * 获取我的关注用户列表
     */
    fun getMyAttentionUserList(userId: Long): MutableList<UserInfo>?

    /**
     * 是否关注此人
     */
    fun booleanAttention(attentionId: Long, userId: Long, attentionTypeEnum: AttentionTypeEnum): RealDataResult?

    /**
     * 获取我关注的列表
     */
    fun getMyAttentionIdList(userId: Long, attentionTypeEnum: AttentionTypeEnum): List<String>?

    /**
     * 获取我的粉丝用户列表
     */
    fun getMyFansUserId(userId: Long): List<String>?
}